//个体：延时任务 封装。
function NW04_rw_ys_gt(sj, dx, ff, zt) {
    this.dx = dx;//对象
    this.zt = zt;//任务状态。比如为 'abc', 即，控制状态的值为：  this.dx['abc']
    this.ff = ff;//方法名
    this.sj = sj;//延时时间，毫秒
    this.qdzt = 0;//启动状态; 1表示已经启动。0表示还没有启动。
}

//启动任务
NW04_rw_ys_gt.prototype.qd = function () {
    //如果 已经处于启动状态，或者是 任务状态 为假——非通行状态时，不能开始任务！
    if (this.qdzt || !this.dx[this.zt]) {
        return;//已经启动了，不用再启动了。
    }
    this.qdzt = 1;
    let _dx = this.dx;
    let _zt = this.zt;
    let _ff = this.ff;
    let _yanchi = this.sj;

    setTimeout(function () {
        _dx[_ff]();
        if (_dx[_zt]) {//只工作在 通行状态
            setTimeout(arguments.callee, _yanchi);
        } else {
            //进入非工作状态后
            this.qdzt = 0;//表示任务已经停止下来
        }
    }, _yanchi);
}

